Completed
Push — master ( 7dd2d9...fd97ea )
by Thomas
49s queued 27s
created

module.exports   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
nc 1
dl 0
loc 8
rs 9.4285
nop 1
1
/*
2
 * Copyright (c) 2018 Includable.
3
 * Created by Thomas Schoffelen.
4
 */
5
6
const API = require('../util/API')
7
const output = require('../output')
8
const open = require('open')
9
10
function checkSession (sessionId) {
11
  API.get('/sessions/' + sessionId).then(function (response) {
12
    if (response.data.data.token) {
13
      API.setToken(response.data.data.token)
14
      output.success('Nice! You are now signed in.')
15
      process.exit()
16
    }
17
    setTimeout(function () {
18
      checkSession(sessionId)
19
    }, 2000)
20
  })
21
}
22
23
module.exports = function () {
24
  API.post('/sessions', {
25
    client: 'com.includable.cli'
26
  }).then(function (response) {
27
    const sessionId = response.data.data.id
28
    const url = 'https://dashboard.includable.com/authenticate/' + sessionId
29
    output.log('Opening ' + url)
30
    open(url)
31
    output.log('Waiting for the session to be authenticated...')
32
    checkSession(sessionId)
33
  })
34
}
35